package com.foreknow.Collection;

import java.util.ArrayList;
import java.util.List;

/**
 * ArrayList集合：
 *  1.默认初始化容量为10.
 *  2.集合底层是一个Object[]数组
 *  3.扩容1.5倍，建议给定一个预估的扩容次数，减少数组的扩容次数，这是ArraList比较重要的优化方法
 *  3.数组缺点:随机增删元素效率比较低，另外数组无法存储大数据量(很难找到一块非常巨大的连续的内存空间)
 *  4.数组有点:检索效率比较高。每个元素占用空间大小相同，内存地址是连续的。)
 *  5.向数组元素末尾添加元素，效率很高，不受影响
 *  6.面试官经常问的一个问题？
 *      这么多的集合中，你用哪个集合最多？
 *          ArrayList集合，因为往数组末尾添加元素，效率不受影响，另外我们检索查找某个元素的操作比较多！
 */
public class ArrayListDemo01 {
    public static void main(String[] args) {
        List list = new ArrayList();//默认初始化容量为10
        System.out.println(list.size());//注意：集合的size方法是获取当前集合元素的个数，不是容量
        List list2 = new ArrayList(20);//指定该集合容量为20
    }
}
